****************************************************************
                      MICROSOFT SQL SERVER
              MICROSOFT ODBC-TREIBER fr SQL SERVER 
              INFODATEI ZUR INSTALLTION, VERSION 3.7
****************************************************************

In dieser Datei wird die Verwendung des Microsoft SQL Server
ODBC-Treibers, Version 3.7 zusammen mit Microsoft SQL Server, 
Version 6.5 oder frher beschrieben.

Da der Microsoft SQL Server ODBC-Treiber Version 3.7 in SQL Server 7.0 
enthalten ist, sollten Benutzer von SQL Server 7.0 
Informationen zu diesem Treiber der SQL Server 7.0-Dokumentation 
und nicht dieser Readme-Datei entnehmen.

Themen:

1. bersicht
2. Installieren von Instcat.sql auf dem Server
3. Abrufen der SQL Server Client Net-Libraries
4. Informationsquellen zur Verwendung von ODBC mit SQL Server
5. Verwendung des Treibers in einer Entwicklerumgebung
6. Kompatibilitt

****************************************************************
1. bersicht

Die Version 3.7 des ODBC-Treibers fr SQL Server ist 
ein Win32 ODBC-Treiber der Version 3.51 und kann mit Anwendungen 
verwendet werden, die fr ODBC 2.X- oder ODBC 3.X-APIs 
geschrieben wurden. Der Treiber kann mit SQL Server 
Version 4.21a oder hher verwendet und unter Windows 98, 95 oder 
Windows NT (Version 4.0 oder hher) ausgefhrt werden.

Auerdem enthlt die Version 3.7 des ODBC-Treibers fr SQL Server 
ein Win32-SQL Server 7.0-Client-Netzwerk-Dienstprogramm. 
Dieses Dienstprogramm kann mit Microsoft SQL Server 
Version 4.21a oder hher und den Client Net-Libraries verwendet 
werden, die in diesen Versionen von SQL Server enthalten sind.

****************************************************************
2. Installieren von Instcat.sql auf dem Server

Der ODBC-Treiber fr SQL Server verwendet eine Reihe von auf dem 
System gespeicherten Prozeduren, auch gespeicherte 
Katalogprozeduren genannt, um von dem SQL Server-Systemkatalog 
Informationen abzurufen. Jede Version des Microsoft ODBC-Treibers 
fr SQL Server wurde zur Verwendung mit einer speziellen Version 
von gespeicherten Katalogprozeduren entwickelt. 

Die Datei Instcat.sql, die in der Version 3.7 des ODBC-Treibers 
fr SQL Server enthalten ist, enthlt geringfgige Aktualisierungen 
der gespeicherten Katalogprozeduren, die die Prozeduren auf die von 
diesem Treiber verwendete Versionen aufrsten. Die Datei Instcat.sql, 
die in der Version 3.7 des ODBC-Treibers fr SQL enthalten ist, ist 
mit der Datei Instcat.sql identisch, die in SQL Server 7.0 enthalten 
ist. SQL Server 7.0-Standorte mssen die Datei Instcat.sql nicht ausfhren.


Der SQL Server-Systemadministrator mu zur Aktualisierung der 
gespeicherten Katalogprozeduren das Instcat.sql-Skript verwenden, 
um den ordnungsgemen Betrieb des Treibers sicherzustellen. Das 
Aktualisieren der gespeicherten Katalogprozeduren wirkt sich 
nicht auf frhere SQL Server-Clients aus. Die gespeicherten 
Katalogprozeduren mssen fr alle Versionen von Microsoft SQL 
Server (4.21a bis 6.5) aktualisiert werden. Wenn Sie SQL 
Server 7.0 haben, ist eine Aktualisierung nicht erforderlich.


Um die gespeicherten Katalogprozeduren auf SQL Server 4.21a,
6.0 oder 6.5 zu aktualisieren, mu der Systemadministrator 
unter Verwendung des Isql-Dienstprogramms (siehe Anleitungen 
weiter unten) das Instcat.sql-Skript ausfhren. Vor dem 
Vornehmen von nderungen an der Master-Datenbank sollte der 
Systemadministrator eine Sicherungskopie erstellen. Ihr Computer 
mu als Clientarbeitsstation fr Microsoft SQL Server 
konfiguriert werden, um das Isql-Dienstprogramm auszufhren.

Verwenden Sie bei einer Befehlseingabeaufforderung das 
Isql-Dienstprogramm, um das Instcat.sql-Skript auszufhren. 
Beispiel:

C:> ISQL /Usa /Psa_password /Sserver_name /ilocation\Instcat.Sql

sa_password 
	ist das Kennwort des Systemadministrators.
server_name 
	ist der Name des Servers, auf dem sich der SQL Server 
befindet.
location 
	ist der vollstndige Pfad, unter dem das 
Instcat.Sql-Skript gespeichert ist.

Das Instcat.sql-Skript erstellt eine Vielzahl von Meldungen. Die 
meisten Meldungen geben an, wie viele Zeilen von den 
Transact-SQL-Anweisungen betroffen waren, die von dem Skript 
ausgegeben wurden. Sie knnen die meisten Meldungen ignorieren, 
sollten jedoch die Ausgabe nach Meldungen berprfen, die 
Ausfhrungsfehler angeben. Wenn das Instcat.sql-Skript auf einem 
SQL Server der Version 6.0 ausgefhrt wird, kann die Meldung, da 
das Objekt sp_MS_upd_sysobj_category nicht existiert, ignoriert 
werden. Die letzte Meldung sollte Sie darber unterrichten, da 
das Instcat.sql-Skript erfolgreich durchgefhrt wurde. Das 
Ausfhren des Instcat.sql-Skripts schlgt fehl, wenn in der 
Master-Datenbank nicht ausreichend Speicherplatz vorhanden ist, 
um die gespeicherten Katalogprozeduren zu speichern oder die 
nderungen an vorhandenen Prozeduren zu protokollieren.

****************************************************************
3. Abrufen der Client Net-Libraries fr SQL Server 

Der ODBC-Treiber fr SQL Server verwendet zur 
Kommunikation mit dem Server die Microsoft Client Net-Libraries 
fr SQL Server.
Die Version 3.7 des ODBC-Treibers fr SQL Server verwendet 
auerdem das Dienstprogramm zur SQL Server-Client-Konfiguration, 
um die mit einer ODBC-Datenquelle verknpfte Net-Library zu 
verwalten.

Version 3.7 des ODBC-Treibers fr SQL Server installiert nur eine
Net-Library: die Datei Dbnmpntw.dll (Win32 Named Pipe Net-Library).

Sie knnen die Version 3.7 des ODBC-Treibers fr SQL Server mit 
frheren Win32 Net-Libraries verwenden. Wenn zur Herstellung einer 
Verbindung zum SQL Server eine andere als die Named Pipe Net-Library
bentigt wird, knnen Sie die Net-Library verwenden, die in Ihrer 
Version von SQL Server enthalten ist. Sie erhalten SQL 
Server Net-Libraries, indem Sie die Win32-SQL 
Server-Client-Dienstprogramme fr Ihre Version von SQL 
Server installieren.

Die Version des SQL Server-Client-Netzwerk-Dienstprogramms, das 
in der Version 3.7 des ODBC-Treibers fr SQL Server enthalten ist, 
kann mit den Client Net-Libraries von SQL Server 4.21a oder hher 
verwendet werden.

****************************************************************
4. Informationsquellen zur Verwendung von ODBC mit SQL Servern

Die Version 3.7 des ODBC-Treibers fr Microsoft SQL Server ist 
derselbe Treiber wie der, der in SQL Server 7.0 enthalten ist. 
Benutzer von SQL Server 7.0 erhalten Angaben zur Version 3.7 des 
ODBC-Treibers fr SQL Server in der SQL Server 7.0-Dokumentation.

Wenn die Version 3.7 des ODBC-Treibers fr SQL Server mit SQL Server 
(Version 4.21a, 6.0 oder 6.5) verwendet wird, wird der Treiber  
auf dieselbe Art wie die frheren Treiberversionen betrieben. 
Diese Version von SQL Server enthlt treiberspezifische Informationen, 
die in den folgenden Informationsquellen nachgelesen werden knnen:

* Datei drvssrvr.hlp, die in der frheren Version von SQL Server 
enthalten ist.

* Abschnitt "Programming ODBC for Microsoft SQL Server" in 
den SQL Server 6.5-Handbchern.

* Weibuch "Using ODBC with Microsoft SQL Server" auf der 
Microsoft-Website.
	
	
Fr die Version 3.7 des Microsoft ODBC-Treibers fr SQL Server 
gelten auerdem die zustzlichen treiberspezifischen Informationen,
die als technische Hinweise unter "Using ODBC with Microsoft SQL 
Server" auf der Microsoft-Website angegeben sind.

Die Datei Sqlsodbc.hlp, die in Version 3.7 des ODBC-Treibers fr 
SQL Server enthalten ist, bietet ausschlielich kontextbezogene 
Hilfe zum ODBC-Datenquellen-Assistent fr SQL Server. Die 
Datei Drvssrvr.hlp, die in den frheren Versionen des
ODBC-Treibers fr SQL Server enthalten war, enthielt 
treiberspezifische Informationen ber frhere Versionen des 
Treibers. Die Informationen, die in frheren Versionen in der 
Datei Drvssrvr.hlp enthalten waren, finden Sie in dem SQL Server 
6.5-Handbuch unter "Programming ODBC for Microsoft SQL Server".

****************************************************************
5. Verwendung des Treibers in einer Entwicklerumgebung

Der ODBC-Treiber fr SQL Server verwendet fr einige 
ODBC-Funktionsaufrufe treiberspezifische Parameter. #defines fr 
diese treiberspezifischen Parameter und treiberspezifische C- und
C++-Programmierstrukturen sind in der Datei Odbcss.h enthalten.

Die Version 3.7 des ODBC-Treibers fr SQL Server kann mit der 
Datei Odbss.h verwendet werden, die in folgenden Quellen verfgbar
ist:

* SQL Server 7.0

* SQL Server 6.5 Service Pack 2 (SP2) oder hher.
	
* MDAC SDK

Das MDAC SDK ist Teil der Microsoft Developer
Network Professional-Ausgabe. Das SDK kann auch von der 
Microsoft-Website heruntergeladen werden unter: 	
http://www.microsoft.com/data. Das SDK ist auch von
Microsoft Press in der "Microsoft ODBC 3.0 Software 
Development Kit and Programmer's Reference" verfgbar.

****************************************************************
6. Kompatibilitt

Da die Version 3.7 des ODBC-Treibers in SQL Server 7.0 
enthalten ist, sollten Benutzer von SQL Server 7.0 in der 
ODBC-Dokumentation in SQL Server 7.0 nachlesen. Die in diesem 
Abschnitt angegebenen Informationen zur Kompatibilitt gelten 
nur, wenn dieser Treiber mit frheren Versionen von SQL Server 
(4.21a, 6.0 und 6.5) ausgefhrt wird.

Die Version 3.7 des ODBC-Treibers fr SQL Server zeigt einen 
neuen Assistenten an, wenn mit dem 
ODBC-Administrator-Dienstprogramm Datenquellen hinzugefgt oder 
konfiguriert werden oder wenn eine Anwendung SQLConfigDataSource 
aufruft und den Treiber dazu auffordert, Informationen vom 
Benutzer abzufragen. Durch Klicken auf die Schaltflche "Hilfe" 
im Assistenten erhalten Sie Zugriff auf die Dokumentation zum 
Assistenten.

In der Version 2.65 des ODBC-Treibers fr SQL Server, der 
zusammen mit SQL Server 6.5 geliefert wurde, wurde das Intervall 
SQL_COPT_SS_PERF_QUERY_INTERVAL anstatt von Millisekunden, wie 
flschlicherweise in der Dokumentation beschrieben, in Sekunden 
angegeben (siehe Artikel "Knowledge Base" Q157753). In der 
Version 3.7 des ODBC-Treibers fr SQL Server wurde das Intervall
SQL_COPT_SS_PERF_QUERY_INTERVAL in Millisekunden gendert und 
entspricht jetzt den Angaben in der Dokumentation.

Die folgenden nderungen betreffen ausschlielich Anwendungen, die
zur Verwendung von ODBC 3.X API geschrieben wurden. Anwendungen, 
die zur Verwendung von ODBC 2.X API geschrieben wurden, sind nicht 
betroffen. Diese nderungen sollten sich in den meisten 
ODBC-Anwendungen nicht auf die Verarbeitung von Ergebnisstzen 
auswirken.

In frheren Versionen des ODBC-Treibers fr SQL Server geben 
aufeinanderfolgende PRINT- oder RAISERROR-Anweisungen in einem 
Stapel oder in einer gespeicherten Prozedur ihre Meldungen 
gemeinsam in einem Ergebnissatz zurck. In Version 3.7 des 
ODBC-Treibers fr SQL Server werden die Meldungen fr jede 
SQL-Anweisung als separate Ergebnisstze zurckgegeben. Sie mssen 
zwischen jeder Meldung SQLMoreResults aufrufen, um die Meldung fr 
die nchste SQL-Anweisung zu erhalten. Alle Meldungen von einer 
einzelnen SQL-Anweisung, z.B. einer DBCC-Anweisung, werden in einem
einzigen Ergebnissatz zurckgegeben, und Sie mssen nicht zwischen 
jeder Meldung SQLMoreResults aufrufen.

In frheren Versionen des ODBC-Treibers fr SQL Server hat ein 
Laufzeitfehler oder ein RAISERROR mit einem Schweregrad von 11 oder 
hher auf der ersten Anweisung in einem Stapel oder einer 
gespeicherten Prozedur immer dazu gefhrt, da SQLExecute, 
SQLExecDirect oder SQLParamData den Fehler SQL_ERROR zurckgegeben 
haben. In Version 3.7 des ODBC-Treibers fr SQL Server geben
SQLExecute, SQLExecDirect oder SQLParamData nur den Fehler 
SQL_ERROR zurck, wenn nach der ersten Anweisung keine weiteren 
Anweisungen ausgefhrt werden. Wenn nach der ersten Anweisung 
weitere Anweisungen ausgefhrt werden, auch bei einer einfachen 
RETURN-Anweisung ohne zurckgegebenen Wert, geben SQLExecute oder 
SQLExecDirect die Meldung SQL_SUCCESS_WITH_INFO zurck. Nach 
Verarbeitung von SQL_SUCCESS_WITH_INFO-Meldungen unter Verwendung 
von SQLGetDiagRec mssen Sie SQLMoreResults aufrufen, um auf dem 
nchsten Ergebnissatz positioniert zu werden.

Wenn bei frheren Versionen des Treibers auf der ersten Anweisung 
in einem Stapel oder einer gespeicherten Prozedur ein Fehler 
aufgetreten ist, konnte die Zugriffsnummer fr eine andere 
SQL-Anweisung verwendet werden, nachdem SQLExecute oder 
SQLExecDirect den Fehler SQL_ERROR zurckgegeben haben. Wenn der 
3.7-Treiber SQL_SUCCESS_WITH_INFO zurckgibt, kann die Anweisung 
so lange keine andere SQL-Anweisung verarbeiten, bis 
SQLMoreResults SQL_NO_DATA zurckgibt oder alle Ergebnisstze, die 
auf den RAISERROR folgen, geschlossen wurden. Wenn kein Ergebnissatz
auf die Fehlermeldung folgt, kann SQLCloseCursor nicht aufgerufen 
werden. SQLFreeStmt(SQL_CLOSE) oder SQLMoreResults mu aufgerufen 
werden, um die Zugriffsnummer freizugeben und eine andere 
SQL-Anweisung verarbeiten zu knnen:

CREATE PROCEDURE TestPrc @Parm1 as
IF (@Parm1 IS NULL)
BEGIN
	RAISERROR ('Parm1 cannot be NULL', 11, 1)
	RETURN
END
SELECT * FROM sysusers WHERE suid = @Parm1
GO

Fhren Sie die folgende Anweisung aus:

SQLExecDirect(hstmt, "{ call TestPrc (NULL) }", SQL_NTS);

Wenn Sie eine frhere Version des ODBC-Treibers fr SQL 
Server verwenden oder die Anwendung ODBC 2.X API verwendet, 
gibt SQLExecDirect den Fehler SQL_ERROR zurck. Nachdem 
SQLGetDiagRec SQL_NO_DATA oder SQLError SQL_NO_DATA_FOUND 
zurckgegeben hat, ist die Zugriffsnummer bereit, um eine 
andere SQL-Anweisung auszufhren.

Wenn eine Anwendung, die fr ODBC 3.X API geschrieben wurde,
die Version 3.7 des ODBC-Treibers fr SQL Server verwendet, 
gibt SQLExecDirect SQL_SUCCESS_WITH_INFO zurck. Wenn 
SQLGetDiagRec SQL_NO_DATA zurckgibt, kann die Zugriffsnummer
so lange keine andere SQL-Anweisung verarbeiten, bis 
SQLMoreResults SQL_NO_DATA zurckgibt oder 
SQLFreeStmt(SQL_CLOSE) aufgerufen wird.

In frheren Versionen des ODBC-Treibers fr SQL Server geben
SQLExecute, SQLExecDirect oder SQLParamData SQL_SUCCESS zurck, 
wenn eine Anwendung eine gesuchte UPDATE- oder DELETE-Anweisung 
ausfhrt, die keine Zeilen betrifft. In diesem Fall gibt die 
Version 3.7 des Treibers weiterhin SQL_SUCCESS an Anwendungen 
zurck, die mit ODBC 2.X API geschrieben wurden. An Anwendungen,
die mit ODBC 3.X API geschrieben wurden, gibt der Treiber 
SQL_NO_DATA zurck. Wenn die Anwendung ODBC 2.X, die SQL_SUCCESS
erhlt, oder die Anwendung ODBC 3.X, die SQL_NO_DATA erhlt, 
anschlieend SQLRowCount aufruft, gibt SQLRowCount den Wert Null
zurck.

Die Version ODBC 3.X definiert in Vergleich zur frheren Version
ODBC 2.X deutlicher, wie Ergebnisse zurckgegeben werden. Frhere
Versionen des ODBC-Treibers fr SQL Server gaben die Werte von 
Ausgabeparametern und Rckgabewerten zurck, wenn die ODBC 
2.X-Funktionen SQLFetch oder SQLExtendedFetch auf dem letzten von 
einer gespeicherten Prozedur zurckgegebenen Ergebnissatz 
SQL_NO_DATA zurckgaben. Dasselbe passiert bei der Version 
3.7 des Treibers, wenn der Treiber von ODBC 2.X-Anwendungen 
aufgerufen wird. Wenn die Version 3.7 des ODBC-Treibers fr SQL 
Server von ODBC 3.X-Anwendungen aufgerufen wird, gibt der Treiber 
jedoch so lange keine Ausgabeparameter oder Rckgabewerte zurck, 
bis SQLMoreResults SQL_NO_DATA zurckgibt.
****************************************************************
